home *** CD-ROM | disk | FTP | other *** search
/ MPEG Toolkit / MPEG Toolkit.iso / os2 / mpegenc / src / makefile.os2 < prev    next >
Makefile  |  1997-01-01  |  6KB  |  188 lines

  1. # Copyright (c) 1993 The Regents of the University of California.
  2. # All rights reserved.
  3. # Permission to use, copy, modify, and distribute this software and its
  4. # documentation for any purpose, without fee, and without written agreement is
  5. # hereby granted, provided that the above copyright notice and the following
  6. # two paragraphs appear in all copies of this software.
  7. # IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
  8. # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  9. # OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  10. # CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  11. # THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  12. # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  13. # AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  14. # ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  15. # PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  16. # This file is derived from the original obtained from Berkeley.
  17. # It was modified for 32 bit OS/2 by Andy Key
  18. #
  19.  
  20. #  
  21. #  $Header: /n/picasso/users/dwallach/vid2/mpeg_encode/RCS/Makefile,v 1.3 1993/01/18 10:20:02 dwallach Exp dwallach $
  22.  
  23. ##############################################################################
  24. #
  25. # Configurable items -- you want to make sure CC points at an ANSI
  26. # compliant C compiler, and that PBMINCLUDE and LIBDIRS specify what's
  27. # necessary for you to include and link against the PBMPLUS libraries.
  28. #
  29. #
  30.  
  31. ################################################################
  32. # PROFILING # use -pg or -p if and only if you want to profile #
  33. ################################################################
  34. PROFLAG =
  35.  
  36. #######################################################
  37. # DEBUGGING # use -g if and only if you want to debug #
  38. #######################################################
  39. DEBUGFLAG =
  40.  
  41. ###############################################################################
  42. # MISSING PROTOTYES # use -DMISSING_PROTOS if your standard headers are wrong #
  43. ###############################################################################
  44. PROTOFLAG = 
  45. #PROTOFLAG = -DMISSING_PROTOS
  46.  
  47. #################################################################
  48. # PBM DIRECTORIES # specify which directories to find pbm stuff #
  49. #################################################################
  50. # directory with pbm.lib, pgm.lib, ppm.lib, pnm.lib
  51. PBMLIBDIR = pbmplus
  52. # directory with pbm.h, pgm.h, ppm.h, pnm.h
  53. PBMHDRDIR = pbmplus
  54.  
  55. #####################################################################
  56. # COMPILER # specify compiler; should be ANSI-compliant if possible #
  57. #####################################################################
  58. CC =        icc
  59.  
  60. ###################################################
  61. # COMPILER FLAGS # modify for different compilers #
  62. ###################################################
  63. # use -DLONG_32 iff
  64. #    1) long's are 32 bits and
  65. #    2) int's are not
  66. #
  67. # if you don't have <netinet/in.h> then you must define one of the following
  68. #    -DFORCE_BIG_ENDIAN
  69. #    -DFORCE_LITTLE_ENDIAN
  70. #
  71. # if you are using a non-ANSI compiler, then use:
  72. #    -DNON_ANSI_COMPILER
  73. #
  74. # one other option:
  75. #    -DHEINOUS_DEBUG_MODE
  76. #
  77.  
  78. CFLAGS =    /DOS2 /DFORCE_LITTLE_ENDIAN /Q+ /W3 /G4 /Gd-e+m+ /Ti+ /Se \
  79.         /Iheaders /I$(INCLUDE) $(PBMINCLUDE) $(DEBUGFLAG) $(PROFLAG) $(PROTOFLAG)
  80.  
  81.  
  82. #########################################################################
  83. # LIBRARIES # same for most machines; may need to add stuff for sockets #
  84. #########################################################################
  85. LIBS =        pnm.lib ppm.lib pgm.lib pbm.lib
  86.  
  87. #
  88. # End of configurable options.  Just type make and have fun.
  89. ##############################################################################
  90.  
  91. PBMINCLUDE = -I$(PBMHDRDIR) 
  92.  
  93. MP_BASE_OBJS = mfwddct.obj postdct.obj huff.obj bitio.obj mheaders.obj
  94. MP_BASE_SRCS = mfwddct.c postdct.c huff.c bitio.c mheaders.c
  95. MP_ENCODE_OBJS = iframe.obj pframe.obj bframe.obj psearch.obj bsearch.obj block.obj
  96. MP_ENCODE_SRCS = iframe.c pframe.c bframe.c psearch.c bsearch.c block.c
  97. MP_OTHER_OBJS = mpeg.obj subsampl.obj param.obj rgbtoycc.obj \
  98.     readfram.obj combine.obj jrevdct.obj frame.obj fsize.obj os2port.obj
  99. MP_OTHER_SRCS = mpeg.c subsampl.c param.c rgbtoycc.c \
  100.     readfram.c combine.c jrevdct.c frame.c fsize.c os2port.c
  101. MP_PARALLEL_OBJS = noparall.obj
  102. MP_PARALLEL_SRCS = noparall.c
  103. MP_ALL_SRCS = $(MP_BASE_SRCS) $(MP_OTHER_SRCS) $(MP_ENCODE_SRCS) \
  104.           $(MP_PARALLEL_SRCS) main.c
  105. MP_ALL_OBJS = $(MP_BASE_OBJS) $(MP_OTHER_OBJS) $(MP_ENCODE_OBJS) \
  106.           $(MP_PARALLEL_OBJS) main.obj
  107. MP_INCLUDE = mproto.h mtypes.h huff.h bitio.h
  108. MP_MISC = Makefile huff.table parse_hu.pl
  109.  
  110.  
  111. all:        mpegenc.exe
  112.  
  113. #########
  114. # TESTS #
  115. #########
  116.  
  117. test:
  118.         @echo Make test not ported to OS/2
  119.     
  120.  
  121. ############
  122. # BINARIES #
  123. ############
  124.  
  125. mpegenc.exe:    $(MP_ALL_OBJS)
  126.         $(CC) $(CFLAGS) /Fe$@ $(MP_ALL_OBJS) $(LIBDIRS) \
  127.             $(PBMLIBDIR)\pbm.lib \
  128.             $(PBMLIBDIR)\pgm.lib \
  129.             $(PBMLIBDIR)\ppm.lib \
  130.             $(PBMLIBDIR)\pnm.lib
  131.  
  132. profile:    $(MP_ALL_OBJS)
  133.         echo @Make profile not ported to OS/2
  134.  
  135. #########
  136. # OTHER #
  137. #########
  138.  
  139. #
  140. # Perl is necessary if you want to modify the Huffman RLE encoding table.
  141. #
  142. PERL =        perl
  143.  
  144. # The following stuff is for the Huffman encoding tables.  It's commented-out
  145. # because you probably don't want to change this.  If you do, then uncommment
  146. # it.
  147. #
  148. # huff.h:    huff.c
  149. #
  150. # huff.c:    parse_huff.pl huff.table
  151. #        $(PERL) parse_huff.pl huff.table
  152.  
  153. headers.obj:    headers.c
  154.         $(CC) $(CFLAGS) /C+ headers.c
  155.  
  156. depend:     huff.c
  157.         makedepend -- $(CFLAGS) -- $(MP_ALL_SRCS)
  158.  
  159. wc:
  160.         @echo Make wc not ported to OS/2
  161.  
  162. ci:
  163.         @echo Make ci not ported to OS/2
  164.  
  165. tags:
  166.         @echo No ctags for OS/2
  167.  
  168. new:
  169.         @echo Make new not ported to OS/2
  170.  
  171. clean:
  172.         -del *.obj
  173.  
  174. indent:
  175.         @echo Make indent not ported to OS/2
  176.  
  177. spotless:    clean
  178.         (cd pbmplus && $(MAKE) clean)
  179.  
  180. ##############################################################################
  181. # DO NOT DELETE THIS LINE -- make depend depends on it.
  182.